<?php 
    $this->headScript() 
        ->prependFile($this->baseUrl('ui/js/ckeditor/ckeditor.js'));
?>

<?php $this->headScript()->captureStart() ?>
$(document).ready(function() {
    CKEDITOR.replace( 'description',
        {
            extraPlugins : 'tableresize',
            extraPlugins : 'syntaxhighlight',
            height:260,
        }
    );

    CKEDITOR.instances["description"].on("instanceReady", function()
    {
        //set keyup event
        this.document.on("keyup", updateTextArea);
        //and paste event
        this.document.on("paste", updateTextArea);
    });

    function updateTextArea()
    {
        CKEDITOR.tools.setTimeout( function()
        { 
            $("#description").val(CKEDITOR.instances.description.getData());
            $("#description").trigger('keyup');     
        }, 0);  
    }
});
<?php $this->headScript()->captureEnd() ?>

<dt><?php echo $this->translate("Description");?></dt>
<dd>
    <textarea id="description" name="description" cols="360" rows="12" style="height:300px;"><?php echo $this->description;?></textarea>
</dd>
            